#include <iostream>
#include <algorithm>
#include <vector>


void test_case1() {

    std::vector<int> coll = {3, 4, 5, 6, 7, 5, 6, 7, 8, 9, 1, 2, 3, 4};

    for (auto i : coll) 
        std::cout << i ;
    std::cout << std::endl;

    std::make_heap(coll.begin(), coll.end());

    std::cout << "after make_heap" << std::endl;
    for (auto i : coll) 
        std::cout << i ;
    std::cout << std::endl;


    std::cout << "after pop_heap" << std::endl;
    std::pop_heap(coll.begin(), coll.end());
    coll.pop_back();
    for (auto i : coll) 
        std::cout << i ;
    std::cout << std::endl;

    std::cout << "after push_heap"  << std::endl;
    coll.push_back(17);
    std::push_heap(coll.begin(), coll.end());
    for (auto i : coll) 
        std::cout << i ;
    std::cout << std::endl;

}

int main() {

    test_case1();

    return 0;
}